package com.JingYan.HuaWei;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

/**
 * @program: JingYan
 * @ClassName: JK005.java
 * @author: DongJiaQi
 * @version: 1.0.0
 * @Description: 华为机考 按身高和体重排队
 * @createTime 2024年04月09日 22:46:00
 */
public class JK005 {
    /**
     * 某学校举行运动会，学生们按编号(1、2、3…n)进行标识，现需要按照身高由低到高排列，对身高相同的人，按体重由轻到重排列；对于身高体重都相同的人，维持原有的编号顺序关系。请输出排列后的学生编号。
     * 输入描述:
     * 两个序列，每个序列由n个正整数组成（0 < n <= 100）。第一个序列中的数值代表身高，第二个序列中的数值代表体重。
     * 输出描述:
     * 排列结果，每个数值都是原始序列中的学生编号，编号从1开始
     * 示例1：
     * 输入
     * 4
     * 100 100 120 130
     * 40 30 60 50
     * 输出
     * 2 1 3 4
     * 说明
     * 输出的第一个数字2表示此人原始编号为2，即身高为100，体重为30的这个人。由于他和编号为1的人身高一样，但体重更轻，因此要排在1前面。
     * 示例2：
     * 输入
     * 3
     * 90 110 90
     * 45 60 45
     * 输出
     * 1 3 2
     * 说明
     * 1和3的身高体重都相同，需要按照原有位置关系让1排在3前面，而不是3 1 2
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int count = Integer.parseInt(sc.nextLine());
        String[] sg = sc.nextLine().split(" ");
        String[] tz = sc.nextLine().split(" ");
        List<Player> list =new ArrayList<>( );
        for (int i = 0; i <count; i++) {
            list.add(new Player(i+1, Integer.parseInt(sg[i]) , Integer.parseInt(tz[i])) );

        }
        String str = list.stream().sorted(Comparator.comparing(Player::getHigh).thenComparing(Player::getWeight).thenComparing(Player::getIdx)).
                map(Player::getIdx).map(String::valueOf).collect(Collectors.joining(" "));
        System.out.println(str);
    }

    static class Player {
        private int idx;
        private int high;
        private int weight;

        public Player(int idx, int high, int weight) {
            this.idx = idx;
            this.high = high;
            this.weight = weight;
        }

        public int getIdx() {
            return idx;
        }

        public void setIdx(int idx) {
            this.idx = idx;
        }

        public int getHigh() {
            return high;
        }

        public void setHigh(int high) {
            this.high = high;
        }

        public int getWeight() {
            return weight;
        }

        public void setWeight(int weight) {
            this.weight = weight;
        }
    }

}
